Signals are simultaneously exchanged between different sections in a device, or between different devices. These signals can be transmitted in parallel if a separate transmission line is provided for each signal between the transmitter side and the receiver side. However, such an approach requires a dedicated transmission line when a simultaneously-exchanged signal is added. In other words, a new transmission line needs to be provided; as a result, occupied space and costs will increase.
To avoid this problem, it is effective to multiplex multiple signals into a single high-speed signal (called a serial signal). For example, parallel/serial conversion and an apparatus called a serializer have been conventionally used to multiplex a plurality of signals. The number of transmission lines necessary to transmit a serial signal is just one, regardless of the total number of simultaneously-exchanged signals.
Normal parallel/serial conversion deals with multiple signals having the same transmission rate. These multiple signals are multiplexed using a common sampling frequency. Such normal parallel/serial conversion is not suitable for multiplexing a plurality of signals having different transmission rates. Normally, a high sampling frequency is required for transmitting high-rate signals correctly (so that they can be restored on the receiver side). Thus, a common sampling frequency is determined based on the highest transmission rate among transmission rates of a plurality of signals. In other words, such normal parallel/serial conversion is not effective because a part of the plurality of signals is redundantly oversampled. Furthermore, a frequency of a serial signal needs to be higher in proportion to the total number of signals that are handled. For this reason, the total number of signals that can be multiplexed is easily restricted if an upper limit is set for a frequency of a serial signal.
Or, a technique of buffering a plurality of data having different priorities in a memory and multiplexing the plurality of data in the order dependent on the order of priority is known. However, with the technique, buffering the data in the memory causes a delay in the data. Furthermore, the amount of delay in each of the plurality of data is indefinite as the delay is dependent on the priorities of other data in the plurality of data.